
/// 任意类型获取小端序列字符表示
pub fn to_string_little<T>(a: &T) -> String {
    let n = std::mem::size_of_val(a);
    let b = unsafe { std::slice::from_raw_parts(a as *const T as *const u8, n) };
    let mut s: String = String::new();
    for i in 0..n {
        s.push_str(&format!("{:08b}", b[i]));
    }
    s
}

/// 任意类型获取大端序列字符表示
pub fn to_string_big<T>(a: &T) -> String {

    let n = std::mem::size_of_val(a);
    let b = unsafe { std::slice::from_raw_parts(a as *const T as *const u8, n) };
    let mut s = String::new();
    for i in (0..n).rev() {
        s.push_str(&format!("{:08b}", b[i]));
    }
    s

    
}

pub mod h1 {
    pub fn h1_say() {

    }
}

